In many graphic interfaces there is a problem that arises in having two modes of interacting with widgets (or icons), on the screen of a user interface. A mode is a computer science term meaning the state of a program (or device). The term “mode” implies choice. One can choose to put the system in a mode by changing a setting. In this document, we use mode and state interchangeably. At times, the user wants to edit the icon and change the properties or behaviors of the icon. At other times, the user wants to interact with the icon and with the underlying application. The common solution is to allow the user to change between working modes (change states). By changing modes (switching to the first or second mode) he can either edit the icon or interact with the icon but not do both at the same time. Typically, the mode change is accomplished by initiating a keypad action or a mouse button action.
According to Webopedia on the worldwide web at www.webopedia.com, a widget is (1) A generic term for the part of a GUI that allows the user to interface with the application and operating system. Widgets display information and invite the user to act in a number of ways. Typical widgets include buttons, dialog boxes, pop-up windows, pull-down menus, icons, scroll bars, resizable window edges, progress indicators, selection boxes, windows, tear-off menus, menu bars, toggle switches and forms. (2) The term also refers to the program that is written in order to make the graphic widget in the GUI look and perform in a specified way, depending on what action the user takes while interfacing with the GUI. The term widget is used to refer to either the graphic component or its controlling program or to refer to the combination of both.
Within this specification, we will use the term “icon” and “widget” interchangeably.
One of the problems with modal interfaces is the added cognitive expense to the user to remember to switch between the modes to do the necessary tasks. In addition, users forget which mode they are in, causing confusion and added frustration for the user. It is common practice to try to avoid (or reduce) the modes with which the user has to operate.